import cv2
import os

# 创建输出文件夹
output_folder = 'out_put_video'
os.makedirs(output_folder, exist_ok=True)

# 假设视频文件名为video_1.mp4到video_12.mp4，或者根据实际情况修改
for i in range(1, 8):
    video_path = fr'C:\Users\86152\Downloads\存视频3\汽车海边公路{i}-1.mp4'  # 使用原始字符串
    print(f"正在尝试打开视频: {video_path}")  # 打印路径
    cap = cv2.VideoCapture(video_path)
    
    if not cap.isOpened():
        print(f"无法打开视频文件: {video_path}")
        continue
    
    # 获取视频总帧数
    total_frames = int(cap.get(cv2.CAP_PROP_FRAME_COUNT))
    
    # 设置当前帧为最后一帧
    cap.set(cv2.CAP_PROP_POS_FRAMES, total_frames - 1)
    
    # 读取最后一帧
    ret, frame = cap.read()
    
    if ret:
        # 保存最后一帧
        output_path = os.path.join(output_folder, f'last_{i}.jpg')
        cv2.imwrite(output_path, frame)
        print(f"已保存: {output_path}")
    else:
        print(f"无法读取视频的最后一帧: {video_path}")
    
    # 释放视频对象
    cap.release()

print("所有视频的最后一帧已提取完成！")
